/*
 * MensajesCommonTypes.h
 *
 * Define los tipos comunes para los mensajes.
 *
 *  Created on: 31/01/2010
 *      Author: San Martín, Matías I.
 */

#ifndef MENSAJESCOMMONTYPES_H_
#define MENSAJESCOMMONTYPES_H_

#include "../CommonTypes.h"

//maximo tamaño de un mensaje
#define MAX_TAM_MSJ ((size_t)1000)

typedef enum t_tipoMensaje
{
	ABANDONA_JUGADOR,
	JUGADOR_CREAR_FLOTA,
	JUGADOR_CAMBIO_RUMBO_FLOTA,
	CANT_NAVES,
	AVISO_CREAR_FLOTA,
	AVISO_CAMBIO_RUMBO_FLOTA,
	ARRIBO_NAVE,
	CAMBIO_DUENO,
	UNIR_A_UNIVERSO,
	UNIDO_A_UNIVERSO,
	DESUNIR_DE_UNIVERSO,
	MSGTYP_CREAR_UNIVERSO,
	MSGTYP_CREAR_JUEGO,
	UNIR_A_JUEGO,
	DESUNIR_DE_JUEGO,
	CREADO_UNIVERSO,
	DISPOSICION_INICIO_JUEGO,
	INICIO_JUEGO,
	FIN_JUEGO,
	QUERY_JUEGOS,
	QUERY_UNIVERSOS
}t_tipoMensaje;

namespace aplicacion {

typedef struct t_identificadorFuente
{
	middleware::common::T_ID_CONTENEDOR contenedor; //universo o juego, 0 para mensajes para el directorio
	middleware::common::T_ID_CONTENIDO contenido;	//planeta, jugador, -1 para grupo de jugadores o directorio
}t_identificadorFuente;

typedef struct t_encabezado
{
	t_identificadorFuente 	destino;
	t_identificadorFuente 	origen;
	t_tipoMensaje			tipo;
} t_encabezado;

}  // namespace aplicacion

#endif /* MENSAJESCOMMONTYPES_H_ */
